home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
pretty15.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
36KB
|
1,773 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "pretty.h"
/*No:FORMAL_ARG_LIST.nb_errors*/
T0* r171start_position(T171* C){
T0* R=NULL;
R=((T174*)(r175first((T175*)((C)->_flat_list/*8*/))))->_start_position/*4*/;
return R;
}
T0* r171type(T171* C,T2 a1){
T0* R=NULL;
R=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),a1)/*)*/))->_result_type/*12*/;
return R;
}
T6 r171is_a_in(T171* C,T0* a1,T0* a2){
T6 R=0;
T0* _t2=NULL;
T0* _t1=NULL;
T2 _i=0;
_i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
/*[IF*/
if((/*(IRF4.6count*/(((T175*)((((T171*)a1))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(_i)){
r37add_position(r171start_position(((T171*)a1)));
r171error(r171start_position(C),((T0*)ms171_36576));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
R=1;
while (!((!(R))||((_i)==(0)))) {
_t1=r171type(C,_i);
_t2=r171type(((T171*)a1),_i);
/*[IF*/
if(!(X62is_a_in(_t1,_t2,a2))){
R=0;
r37print_as_error((T37*)(oBC11eh));
r37add_position(X62start_position(_t1));
r37add_position(X62start_position(_t2));
/*[IRF3.6append*/{T0* b1=((T0*)ms171_26862);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
void r171add_last(T171* C,T0* a1){
T0* _n2=NULL;
T2 _i=0;
_i=1;
while (!((r175item((T175*)((C)->_flat_list/*8*/),_i))==((void*)(NULL)))) {
_n2=r175item((T175*)((C)->_flat_list/*8*/),_i);
/*[IF*/
if(((((T174*)_n2))->_to_string/*8*/)==((void*)((((T174*)a1))->_to_string/*8*/))){
r37add_position((((T174*)a1))->_start_position/*4*/);
r37add_position((((T174*)_n2))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms163_36984);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T175* C1=(T175*)((C)->_flat_list/*8*/);
T0* b1=a1;
T2 b2=_i;
((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
}/*]*/
/*[IRF3.3set_rank*/((((T174*)(((T174*)a1))))->_rank)=(_i);
/*]*/
}
/*No:FORMAL_ARG_LIST.em1*/
T2 r171rank_of(T171* C,T0* a1){
T2 R=0;
R=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
while (!(((R)==(0))||((a1)==((void*)(((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),R)/*)*/))->_to_string/*8*/))))) {
R=(R)-(1);
}
return R;
}
void r171dynamic_runnable(T171* C,T0* a1){
T0* _n2=NULL;
T0* _n1=NULL;
T2 _i=0;
C->_flat_list=r175twin((T175*)((C)->_flat_list/*8*/));
_i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
while (!((_i)==(0))) {
_n1=r175item((T175*)((C)->_flat_list/*8*/),_i);
_n2=r174to_runnable(((T174*)_n1),a1);
/*[IF*/
if((_n2)==((void*)(NULL))){
r171error((((T174*)_n1))->_start_position/*4*/,((T0*)ms163_18336));
}
else{
/*[IRF3.6put*/{T175* C1=(T175*)((C)->_flat_list/*8*/);
T0* b1=_n2;
T2 b2=_i;
((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
}/*]*/
}
/*FI]*/
_i=(_i)-(1);
}
}
/*No:FORMAL_ARG_LIST.fz_dot*/
T6 r171is_runnable(T171* C,T0* a1){
T6 R=0;
T0* _t=NULL;
T0* _n2=NULL;
T0* _n1=NULL;
T2 _i=0;
R=1;
_i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
while (!((!(R))||((_i)==(0)))) {
_t=r171type(C,_i);
/*[IF*/
if(X62is_run_type(_t)){
/*[IF*/
if((X62run_type(_t))!=((void*)(_t))){
R=0;
}
/*FI]*/
}
else{
R=0;
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if(R){
_i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
while (!((_i)==(0))) {
_n1=r175item((T175*)((C)->_flat_list/*8*/),_i);
_n2=r174to_runnable(((T174*)_n1),a1);
/*[IF*/
if((_n2)==((void*)(NULL))){
r171error((((T174*)_n1))->_start_position/*4*/,((T0*)ms163_18336));
_i=0;
}
else{
_i=(_i)-(1);
}
/*FI]*/
}
r171check_name_clash(C,a1);
}
/*FI]*/
return R;
}
/*No:FORMAL_ARG_LIST.count*/
/*No:FORMAL_ARG_LIST.fz_cad*/
void r171error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r171make(T171* C,T0* a1){
T0* _an2=NULL;
T2 _rank=0;
T2 _i=0;
T0* _tla2=NULL;
T0* _tla=NULL;
T0* _tlf=NULL;
T0* _an=NULL;
r171declaration_list_make(C,a1);
_i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
while (!((_i)==(0))) {
_an=/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/;
_tlf=(((T174*)_an))->_result_type/*12*/;
if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
case 239:
break;
default:
_tlf=NULL;
};/*[IF*/
if((_tlf)!=((void*)(NULL))){
_rank=r171rank_of(C,X65to_string((((T239*)_tlf))->_like_what/*8*/));
/*[IF*/
if((_rank)==(_i)){
r37add_position((((T239*)_tlf))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
else if((_rank)>(0)){
{T172*n=malloc(sizeof(*n));
*n=M172;
r172refer_to(n,X65start_position((((T239*)_tlf))->_like_what/*8*/),(T0*)C,_rank);
_an2=(T0*)n;
}
{T242*n=malloc(sizeof(*n));
*n=M242;
r242make(n,(((T239*)_tlf))->_start_position/*4*/,_an2);
_tla=(T0*)n;
}
/*[IRF3.3set_result_type*/((((T174*)(((T174*)_an))))->_result_type)=(_tla);
/*]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if(r54all_check((T54*)(oBC11run_control))){
_i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
while (!((_i)==(0))) {
_tla=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/))->_result_type/*12*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 242:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
_rank=r171rank_of(C,r172to_string((T172*)((((T242*)_tla))->_like_what/*8*/)));
_tla2=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_rank)/*)*/))->_result_type/*12*/;
if(NULL!=(_tla2))switch(((T0*)_tla2)->id) {
case 242:
break;
default:
_tla2=NULL;
};/*[IF*/
if((_tla2)!=((void*)(NULL))){
r37add_position((((T242*)_tla))->_start_position/*4*/);
r37add_position((((T242*)_tla2))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
}
void r171declaration_list_make(T171* C,T0* a1){
T2 _actual_count=0;
T2 _il=0;
C->_list=a1;
_il=((T293*)((C)->_list/*4*/))->_upper/*8*/;
while (!((_il)==(0))) {
_actual_count=(_actual_count)+(X292count(r293item((T293*)((C)->_list/*4*/),_il)));
_il=(_il)-(1);
}
{T175*n=malloc(sizeof(*n));
*n=M175;
r175make(n,1,_actual_count);
C->_flat_list=(T0*)n;
}
_il=1;
while (!((_il)>(((T293*)((C)->_list/*4*/))->_upper/*8*/))) {
X292append_in(r293item((T293*)((C)->_list/*4*/),_il),(T0*)C);
_il=(_il)+(1);
}
}
void r171pretty_print(T171* C){
T2 _i=0;
r310put_character((T310*)(oBC11fmt),'\50');
r310level_incr((T310*)(oBC11fmt));
_i=1;
while (!((_i)>(((T293*)((C)->_list/*4*/))->_upper/*8*/))) {
X292pretty_print(r293item((T293*)((C)->_list/*4*/),_i));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(((T293*)((C)->_list/*4*/))->_upper/*8*/)){
r310put_string((T310*)(oBC11fmt),((T0*)ms171_188));
}
/*FI]*/
}
r310level_decr((T310*)(oBC11fmt));
r310put_character((T310*)(oBC11fmt),'\51');
}
/*No:FORMAL_ARG_LIST.name*/
void r171check_name_clash(T171* C,T0* a1){
T2 _i=0;
_i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
while (!((_i)==(0))) {
/*[IRF3.6name_clash*/{T174* C1=(T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/);
T0* b1=a1;
r174name_clash_for(C1,b1,((T0*)ms174_120934));
}/*]*/
_i=(_i)-(1);
}
}
/*No:FORMAL_ARG_LIST.flat_list*/
void r171with(T171* C,T0* a1,T0* a2){
*((T171*)(C))=*((T171*)(a1));
r171dynamic_runnable(C,a2);
r171check_name_clash(C,a2);
}
/*No:FORMAL_ARG_LIST.list*/
/*No:FORMAL_ARG_LIST.fatal_error*/
/*No:RUN_FEATURE_2.use_current_state*/
/*No:RUN_FEATURE_2.arguments*/
/*No:RUN_FEATURE_2.actuals_clients*/
void r345initialize(T345* C){
C->_result_type=((T299*)((C)->_base_feature/*24*/))->_result_type/*20*/;
C->_result_type=X62to_runnable((C)->_result_type/*28*/,(C)->_current_type/*4*/);
}
T0* r345start_position(T345* C){
T0* R=NULL;
R=r299start_position((T299*)((C)->_base_feature/*24*/));
return R;
}
/*No:RUN_FEATURE_2.clients_memory*/
/*No:RUN_FEATURE_2.ucs_not_computed*/
/*No:RUN_FEATURE_2.current_type*/
void r345add_client(T345* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T319*n=malloc(sizeof(*n));
*n=M319;
r319with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r313add_client((T313*)(r345run_class(C)),a1);
}
T0* r345run_class(T345* C){
T0* R=NULL;
R=X62run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_2.result_type*/
/*No:RUN_FEATURE_2.base_feature*/
void r345make(T345* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r345run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
/*]*/
r42incr_magic_count((T42*)(oBC11small_eiffel));
C->_use_current_state=15;
r42push((T42*)(oBC11small_eiffel),(T0*)C);
r345initialize(C);
r42pop((T42*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_2.name*/
/*No:RUN_FEATURE_2.local_vars*/
T2 r345arg_count(void){
T2 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
return R;
}
T0* r345clients(T345* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X62base_class((C)->_current_type/*4*/);
_bfbc=((T299*)((C)->_base_feature/*24*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T299*)((C)->_base_feature/*24*/))->_clients/*16*/;
}
else{
R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r345is_exported_in(T345* C,T0* a1){
T6 R=0;
R=r83gives_permission_to((T83*)(r345clients(C)),a1);
return R;
}
void r67make_n(T67* C,T0* a1){
T2 _j=0;
T2 _i=0;
_i=(((T68*)a1))->_upper/*8*/;
while (!((_i)<(0))) {
_j=(_i)-(1);
while (!((_j)<(0))) {
/*[IF*/
if((X65to_key(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_i]/*)*/))==((void*)(X65to_key(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_j]/*)*/)))){
r67fe_multiple(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_i]/*)*/,/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_j]/*)*/);
}
/*FI]*/
_j=(_j)-(1);
}
_i=(_i)-(1);
}
C->_first=/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[0]/*)*/;
_i=(((T68*)a1))->_upper/*8*/;
/*[IF*/
if((_i)>(0)){
{T68*n=malloc(sizeof(*n));
*n=M68;
r68make(n,_i);
C->_remainder=(T0*)n;
}
_j=0;
while (!((_i)==(0))) {
/*[IRF3.5put*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_j]=(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[(_j)+(1)]/*)*/);
/*]*/
_j=(_j)+(1);
_i=(_i)-(1);
}
}
/*FI]*/
}
T0* r67feature_name(T67* C,T0* a1){
T0* R=NULL;
T2 _i=0;
/*[IF*/
if((X65to_key((C)->_first/*0*/))==((void*)(a1))){
R=(C)->_first/*0*/;
}
else if(((C)->_remainder/*4*/)==((void*)(NULL))){
}
else{
_i=((T68*)((C)->_remainder/*4*/))->_upper/*8*/;
while (!(((_i)<(0))||((a1)==((void*)(X65to_key(/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/)))))) {
_i=(_i)-(1);
}
/*[IF*/
if((_i)>=(0)){
R=/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/;
}
/*FI]*/
}
/*FI]*/
return R;
}
void r67fe_multiple(T0* a1,T0* a2){
r37add_position(X65start_position(a1));
r37add_position(X65start_position(a2));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms67_61088);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
T6 r67has(T67* C,T0* a1){
T6 R=0;
R=(r67index_of(C,a1))>(0);
return R;
}
/*No:FEATURE_NAME_LIST.make_1*/
void r67add_last(T67* C,T0* a1){
T0* _fn2=NULL;
_fn2=r67feature_name(C,X65to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
r67fe_multiple(_fn2,a1);
}
/*FI]*/
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
{T68*n=malloc(sizeof(*n));
*n=M68;
r68with_capacity(n,4);
C->_remainder=(T0*)n;
}
}
/*FI]*/
r68add_last((T68*)((C)->_remainder/*4*/),a1);
}
T0* r67item(T67* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(C)->_first/*0*/;
}
else{
R=/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
/*No:FEATURE_NAME_LIST.first*/
T2 r67count(T67* C){
T2 R=0;
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
R=1;
}
else{
R=(((T68*)((C)->_remainder/*4*/))->_upper/*8*/)+(2);
}
/*FI]*/
return R;
}
void r67pretty_print(T67* C){
T2 _icount=0;
T2 _i=0;
_i=1;
while (!((_i)>(r67count(C)))) {
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
X65declaration_pretty_print(r67item(C,_i));
_i=(_i)+(1);
_icount=(_icount)+(1);
/*[IF*/
if((_i)<=(r67count(C))){
r310put_string((T310*)(oBC11fmt),((T0*)ms67_158));
/*[IF*/
if((_icount)>(4)){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
r310indent((T310*)(oBC11fmt));
_icount=0;
}
/*FI]*/
}
/*FI]*/
}
}
/*No:FEATURE_NAME_LIST.remainder*/
T2 r67index_of(T67* C,T0* a1){
T2 R=0;
T0* _fn_key=NULL;
_fn_key=X65to_key(a1);
/*[IF*/
if((X65to_key((C)->_first/*0*/))==((void*)(_fn_key))){
R=1;
}
else if(((C)->_remainder/*4*/)==((void*)(NULL))){
}
else{
R=((T68*)((C)->_remainder/*4*/))->_upper/*8*/;
while (!(((R)<(0))||((_fn_key)==((void*)(X65to_key(/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[R]/*)*/)))))) {
R=(R)-(1);
}
/*[IF*/
if((R)<(0)){
R=0;
}
else{
R=(R)+(2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:FEATURE_NAME_LIST.fatal_error*/
/*No:CLASS_INVARIANT.start_position*/
/*No:CLASS_INVARIANT.header_comment*/
/*No:CLASS_INVARIANT.fz_invariant*/
void r86make(T86* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
void r86pretty_print(T86* C){
T2 _i=0;
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(0);
/*]*/
/*[IF*/
if(!(r310zen_mode((T310*)(oBC11fmt)))){
r310skip((T310*)(oBC11fmt),1);
}
/*FI]*/
r310keyword((T310*)(oBC11fmt),r86name());
/*[IF*/
if(((C)->_header_comment/*4*/)!=((void*)(NULL))){
r64pretty_print((T64*)((C)->_header_comment/*4*/));
}
/*FI]*/
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=1;
while (!((_i)>(((T88*)((C)->_list/*8*/))->_upper/*8*/))) {
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IF*/
if(!(r310zen_mode((T310*)(oBC11fmt)))){
r310skip((T310*)(oBC11fmt),1);
}
/*FI]*/
/*[IRF3.3set_semi_colon_flag*/((((T310*)((T310*)(oBC11fmt))))->_semi_colon_flag)=(1);
/*]*/
r85pretty_print((T85*)(r88item((T88*)((C)->_list/*8*/),_i)));
_i=(_i)+(1);
}
}
/*FI]*/
}
T0* r86name(void){
T0* R=NULL;
R=((T0*)ms12_14427);
return R;
}
/*No:CLASS_INVARIANT.list*/
/*No:CLASS_NAME_LIST.make_1*/
T6 r179gives_permission_to_any(T179* C){
T6 R=0;
T2 _i=0;
_i=r179count(C);
while (!((R)||((_i)==(0)))) {
R=(((T49*)(r179item(C,_i)))->_to_string/*0*/)==((void*)(((T0*)ms13_714)));
_i=(_i)-(1);
}
return R;
}
void r179add_last(T179* C,T0* a1){
T2 _i=0;
_i=r179index_of(C,a1);
/*[IF*/
if((_i)>(0)){
r37add_position(((T49*)(r179item(C,_i)))->_start_position/*4*/);
r179warning((((T49*)a1))->_start_position/*4*/,((T0*)ms179_54510));
}
/*FI]*/
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
{T180*n=malloc(sizeof(*n));
*n=M180;
r180with_capacity(n,4);
C->_remainder=(T0*)n;
}
}
/*FI]*/
r180add_last((T180*)((C)->_remainder/*4*/),a1);
}
void r179merge(T179* C,T0* a1,T0* a2){
T0* _cn=NULL;
T2 _i=0;
C->_first=r179item(((T179*)a1),1);
{T180*n=malloc(sizeof(*n));
*n=M180;
r180with_capacity(n,((r179count(((T179*)a1)))+(r179count(((T179*)a2))))-(1));
C->_remainder=(T0*)n;
}
_i=r179count(((T179*)a1));
while (!((_i)==(1))) {
r180add_last((T180*)((C)->_remainder/*4*/),r179item(((T179*)a1),_i));
_i=(_i)-(1);
}
_i=r179count(((T179*)a2));
while (!((_i)==(0))) {
_cn=r179item(((T179*)a2),_i);
/*[IF*/
if((r179index_of(C,_cn))==(0)){
r180add_last((T180*)((C)->_remainder/*4*/),_cn);
}
/*FI]*/
_i=(_i)-(1);
}
}
T0* r179item(T179* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(C)->_first/*0*/;
}
else{
R=/*(IRF4.6item*/(((T180*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
void r179warning(T0* a1,T0* a2){
r37add_position(a1);
r37warning((T37*)(oBC11eh),a2);
}
/*No:CLASS_NAME_LIST.first*/
T2 r179count(T179* C){
T2 R=0;
/*[IF*/
if(((C)->_remainder/*4*/)==((void*)(NULL))){
R=1;
}
else{
R=(2)+(((T180*)((C)->_remainder/*4*/))->_upper/*8*/);
}
/*FI]*/
return R;
}
T6 r179gives_permission_to(T179* C,T0* a1){
T6 R=0;
T2 _i=0;
/*[IF*/
if((r179index_of(C,a1))>(0)){
R=1;
}
else{
_i=r179count(C);
while (!((R)||((_i)==(0)))) {
R=r49is_subclass_of(((T49*)a1),r179item(C,_i));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:CLASS_NAME_LIST.us_any*/
void r179pretty_print(T179* C){
T2 _i=0;
_i=1;
while (!((_i)>(r179count(C)))) {
/*[IRF3.6pretty_print*/{T49* C1=(T49*)(r179item(C,_i));
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*0*/);
}/*]*/
/*[IF*/
if((_i)<(r179count(C))){
r310put_string((T310*)(oBC11fmt),((T0*)ms179_158));
}
/*FI]*/
_i=(_i)+(1);
}
}
/*No:CLASS_NAME_LIST.remainder*/
T2 r179index_of(T179* C,T0* a1){
T2 R=0;
T0* _to_string=NULL;
_to_string=(((T49*)a1))->_to_string/*0*/;
R=r179count(C);
while (!(((R)==(0))||((_to_string)==((void*)(((T49*)(r179item(C,R)))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:IMPLICIT_CURRENT.start_position*/
T0* r177add_comment(T177* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CURRENT.is_written*/
T2 r177to_integer(T177* C){
T2 R=0;
r177error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
/*No:IMPLICIT_CURRENT.print_as_target*/
/*No:IMPLICIT_CURRENT.bracketed_pretty_print*/
T0* r177to_runnable(T177* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_result_type/*8*/)==((void*)(NULL))){
C->_result_type=a1;
R=(T0*)C;
}
else if(((C)->_result_type/*8*/)==((void*)(a1))){
R=(T0*)C;
}
else{
{T177*n=malloc(sizeof(*n));
*n=M177;
/*[IRF3.3make*/((((T177*)(n)))->_start_position)=((C)->_start_position/*4*/);
/*]*/
R=(T0*)n;
}
R=r177to_runnable(((T177*)R),a1);
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CURRENT.fz_iinaiv*/
/*No:IMPLICIT_CURRENT.result_type*/
void r177error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:IMPLICIT_CURRENT.precedence*/
/*No:IMPLICIT_CURRENT.make*/
/*No:IMPLICIT_CURRENT.is_current*/
/*No:IMPLICIT_CURRENT.pretty_print*/
/*No:IMPLICIT_CURRENT.is_void*/
/*No:IMPLICIT_CURRENT.us_current*/
/*No:IMPLICIT_CURRENT.atomic_precedence*/
/*No:TMP_NAME.fz_once*/
T6 r92look_in(T0* a1){
T6 R=0;
T2 _i=0;
_i=(((T32*)a1))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r7same_as((T7*)(r32item(((T32*)a1),_i)),oBC92tmp_string);
_i=(_i)-(1);
}
return R;
}
/*No:TMP_NAME.fz_old*/
/*No:TMP_NAME.fz_check*/
T0* r92start_position(T92* C){
T0* R=NULL;
{T39*n=malloc(sizeof(*n));
*n=M39;
r39make(n,(C)->_li/*4*/,(C)->_co/*8*/);
R=(T0*)n;
}
return R;
}
T0* r92to_string(T92* C){
T0* R=NULL;
/*[IF*/
if(((C)->_unique_string_memory/*0*/)==((void*)(NULL))){
R=r66item(oBC92tmp_string);
C->_unique_string_memory=R;
}
else{
R=(C)->_unique_string_memory/*0*/;
}
/*FI]*/
return R;
}
/*No:TMP_NAME.fz_if*/
T0* r92to_prefix_name(T92* C){
T0* R=NULL;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_ensure*/
T0*oBC92keyword_p=NULL;
/*No:TMP_NAME.unique_string_memory*/
/*No:TMP_NAME.fz_frozen*/
/*No:TMP_NAME.fz_do*/
/*No:TMP_NAME.co*/
/*No:TMP_NAME.fz_as*/
/*No:TMP_NAME.li*/
T0*oBC92keyword_u=NULL;
/*No:TMP_NAME.fz_then*/
T0* r92to_argument_name1(T92* C){
T0* R=NULL;
{T174*n=malloc(sizeof(*n));
*n=M174;
r174make(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),oBC92tmp_string);
R=(T0*)n;
}
return R;
}
T0* r92to_infix_name(T0* a1){
T0* R=NULL;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,oBC92tmp_string,a1);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.us_void*/
/*No:TMP_NAME.fz_true*/
/*No:TMP_NAME.extend*/
/*No:TMP_NAME.fz_rename*/
/*No:TMP_NAME.fz_rescue*/
/*No:TMP_NAME.fz_indexing*/
/*No:TMP_NAME.fz_when*/
T0* r92to_simple_feature_name(T92* C){
T0* R=NULL;
{T131*n=malloc(sizeof(*n));
*n=M131;
r131make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_is*/
T0*oBC92keyword_l=NULL;
T6 r92is_result(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC92tmp_string))->_count/*4*/)==(6)){
R=r7same_as((T7*)(((T0*)ms13_7404)),oBC92tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.fz_elseif*/
T0* r92to_local_name1(T92* C){
T0* R=NULL;
{T167*n=malloc(sizeof(*n));
*n=M167;
r167make(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),oBC92tmp_string);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_feature*/
/*No:TMP_NAME.fz_debug*/
/*No:TMP_NAME.fz_creation*/
T0*oBC92keyword_c=NULL;
/*No:TMP_NAME.fz_select*/
/*No:TMP_NAME.fz_loop*/
/*No:TMP_NAME.fz_obsolete*/
/*No:TMP_NAME.us_or*/
/*No:TMP_NAME.count*/
/*No:TMP_NAME.fz_alias*/
/*No:TMP_NAME.fz_expanded*/
/*No:TMP_NAME.make*/
T6 r92is_current(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC92tmp_string))->_count/*4*/)==(7)){
R=r7same_as((T7*)(((T0*)ms13_9380)),oBC92tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.us_implies*/
/*No:TMP_NAME.fz_class*/
/*No:TMP_NAME.fz_strip*/
/*No:TMP_NAME.fz_prefix*/
/*No:TMP_NAME.fz_infix*/
T0* r92to_infix_name_use(T92* C){
T0* R=NULL;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_unique*/
T0*oBC92tmp_string=NULL;
/*No:TMP_NAME.fz_export*/
T0*oBC92keyword_r=NULL;
/*No:TMP_NAME.us_precursor*/
/*No:TMP_NAME.fz_variant*/
/*No:TMP_NAME.fz_inherit*/
/*No:TMP_NAME.fz_inspect*/
/*No:TMP_NAME.fz_local*/
/*No:TMP_NAME.us_result*/
T0*oBC92keyword_d=NULL;
/*No:TMP_NAME.fz_all*/
/*No:TMP_NAME.fz_redefine*/
T0* r92to_tag_name(T92* C){
T0* R=NULL;
{T90*n=malloc(sizeof(*n));
*n=M90;
r90make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_separate*/
T0* r92to_e_void(T92* C){
T0* R=NULL;
{T140*n=malloc(sizeof(*n));
*n=M140;
/*[IRF3.3make*/((((T140*)(n)))->_start_position)=(r92pos((C)->_li/*4*/,(C)->_co/*8*/));
/*]*/
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_require*/
T0*oBC92keyword_i=NULL;
/*No:TMP_NAME.fz_retry*/
/*No:TMP_NAME.us_xor*/
/*No:TMP_NAME.fz_invariant*/
T0* r92pos(T2 a1,T2 a2){
T0* R=NULL;
{T39*n=malloc(sizeof(*n));
*n=M39;
r39make(n,a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_until*/
T0*oBC92keyword_s=NULL;
/*No:TMP_NAME.us_current*/
T0*oBC92keyword_e=NULL;
void r92initialize(T92* C,T2 a1,T2 a2){
C->_li=a1;
C->_co=a2;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC92tmp_string))))->_count)=(0);
/*]*/
C->_unique_string_memory=NULL;
}
/*No:TMP_NAME.fz_else*/
T0* r92to_local_name2(T92* C,T0* a1,T2 a2){
T0* R=NULL;
{T164*n=malloc(sizeof(*n));
*n=M164;
r164refer_to(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
R=(T0*)n;
}
return R;
}
T6 r92isa_keyword(void){
T6 R=0;
T3 _c=0;
_c=r3to_lower(/*(IRF4.6item*/(((T7*)(oBC92tmp_string))->_storage/*0*/)[(1)-(1)]/*)*/);
{int z1=_c;
if((97==z1)){
R=r92look_in(oBC92keyword_a);
}
else
if((99==z1)){
R=r92look_in(oBC92keyword_c);
}
else
if((100==z1)){
R=r92look_in(oBC92keyword_d);
}
else
if((101==z1)){
R=r92look_in(oBC92keyword_e);
}
else
if((102==z1)){
R=r92look_in(oBC92keyword_f);
}
else
if((105==z1)){
R=r92look_in(oBC92keyword_i);
}
else
if((108==z1)){
R=r92look_in(oBC92keyword_l);
}
else
if((111==z1)){
R=r92look_in(oBC92keyword_o);
}
else
if((112==z1)){
R=r92look_in(oBC92keyword_p);
}
else
if((114==z1)){
R=r92look_in(oBC92keyword_r);
}
else
if((115==z1)){
R=r92look_in(oBC92keyword_s);
}
else
if((116==z1)){
R=r92look_in(oBC92keyword_t);
}
else
if((117==z1)){
R=r92look_in(oBC92keyword_u);
}
else
if((118==z1)){
R=r7same_as((T7*)(((T0*)ms12_9506)),oBC92tmp_string);
}
else
if((119==z1)){
R=r7same_as((T7*)(((T0*)ms12_1776)),oBC92tmp_string);
}
else
if((120==z1)){
R=r7same_as((T7*)(((T0*)ms13_1053a)),oBC92tmp_string);
}
}
return R;
}
/*No:TMP_NAME.fz_deferred*/
/*No:TMP_NAME.fz_like*/
T0* r92to_class_name(T92* C){
T0* R=NULL;
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
R=(T0*)n;
}
return R;
}
T0*oBC92keyword_o=NULL;
T0* r92to_argument_name2(T92* C,T0* a1,T2 a2){
T0* R=NULL;
{T172*n=malloc(sizeof(*n));
*n=M172;
r172refer_to(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_end*/
/*No:TMP_NAME.fz_undefine*/
T0*oBC92keyword_a=NULL;
T0*oBC92keyword_t=NULL;
/*No:TMP_NAME.fz_external*/
/*No:TMP_NAME.fz_from*/
/*No:TMP_NAME.fz_false*/
T6 r92is_void(void){
T6 R=0;
/*[IF*/
if((((T7*)(oBC92tmp_string))->_count/*4*/)==(4)){
R=r7same_as((T7*)(((T0*)ms13_1648)),oBC92tmp_string);
}
/*FI]*/
return R;
}
/*No:TMP_NAME.us_and*/
T0*oBC92keyword_f=NULL;
/*No:LOOP_VARIANT_1.nb_errors*/
T0* r230start_position(T230* C){
T0* R=NULL;
R=X89start_position((C)->_expression/*8*/);
return R;
}
T0* r230twin(T230* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T230*)R)=*C;
return R;
}
/*No:LOOP_VARIANT_1.expression*/
T0* r230to_runnable(T230* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
C->_current_type=a1;
_e=X89to_runnable((C)->_expression/*8*/,a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r230error(r230start_position(C),((T0*)ms226_20400));
}
else{
C->_expression=_e;
/*[IF*/
if(!(X62is_integer(X89result_type((C)->_expression/*8*/)))){
r230error(X89start_position((C)->_expression/*8*/),((T0*)ms226_86602));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
R=(T0*)C;
}
/*FI]*/
}
else{
R=r230twin(C);
/*[IRF3.3set_current_type*/((((T230*)(((T230*)R))))->_current_type)=(NULL);
/*]*/
R=r230to_runnable(((T230*)R),a1);
}
/*FI]*/
return R;
}
/*No:LOOP_VARIANT_1.set_current_type*/
/*No:LOOP_VARIANT_1.current_type*/
void r230error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r230make(T230* C,T0* a1,T0* a2){
C->_comment=a2;
C->_expression=a1;
}
void r230pretty_print(T230* C){
/*[IF*/
if(((C)->_comment/*4*/)!=((void*)(NULL))){
r64pretty_print((T64*)((C)->_comment/*4*/));
}
else{
r310indent((T310*)(oBC11fmt));
}
/*FI]*/
X89pretty_print((C)->_expression/*8*/);
}
/*No:LOOP_VARIANT_1.comment*/
/*No:CALL_INFIX_IMPLIES.feature_name*/
/*No:CALL_INFIX_IMPLIES.right_brackets*/
T0* r96start_position(T96* C){
T0* R=NULL;
R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r96add_comment(T96* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r96to_integer(T96* C){
T2 R=0;
r96error(r96start_position(C),((T0*)ms12_45846));
return R;
}
void r96bracketed_pretty_print(T96* C){
r310put_character((T310*)(oBC11fmt),'\50');
r96pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
}
void r96print_op(T96* C){
r310put_character((T310*)(oBC11fmt),'\40');
/*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
}/*]*/
r310put_character((T310*)(oBC11fmt),'\40');
}
T0* r96to_runnable(T96* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r96runnable_expression((C)->_target/*4*/,a1);
_a=r96runnable_args((C)->_arguments/*8*/,a1);
_tt=X89result_type(_t);
_at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r96run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r96run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T96*n=malloc(sizeof(*n));
*n=M96;
r96with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
/*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
T0* r96result_type(T96* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X62is_like_current(R)){
R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 242:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.run_feature*/
T0* r96runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r132to_runnable(((T132*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(r132start_position(((T132*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r96with(T96* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r96run_feature_match(C,a5);
}
/*No:CALL_INFIX_IMPLIES.fatal_error*/
void r96run_feature_match(T96* C,T0* a1){
r96run_feature_has_result(C);
r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_IMPLIES.arguments*/
T0* r96runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X89to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(X89start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_IMPLIES.left_brackets*/
/*No:CALL_INFIX_IMPLIES.implicit_cast*/
void r96print_as_target(T96* C){
r310put_character((T310*)(oBC11fmt),'\50');
r96pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
r310put_character((T310*)(oBC11fmt),'\56');
}
/*No:CALL_INFIX_IMPLIES.arg1*/
void r96run_feature_has_result(T96* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r37add_position(X312start_position((C)->_run_feature/*16*/));
r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r96run_feature_for(T96* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(X89result_type(a1));
R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_IMPLIES.target*/
void r96error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:CALL_INFIX_IMPLIES.precedence*/
void r96make(T96* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,r96operator(),a2);
C->_feature_name=(T0*)n;
}
{T132*n=malloc(sizeof(*n));
*n=M132;
/*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_IMPLIES.is_current*/
/*No:CALL_INFIX_IMPLIES.us_implies*/
void r96pretty_print(T96* C){
/*[IF*/
if((X89precedence((C)->_target/*4*/))==(13)){
X89pretty_print((C)->_target/*4*/);
}
else if((3)>(X89precedence((C)->_target/*4*/))){
X89bracketed_pretty_print((C)->_target/*4*/);
}
else if((3)<(X89precedence((C)->_target/*4*/))){
X89pretty_print((C)->_target/*4*/);
}
/*AF*/else{
X89pretty_print((C)->_target/*4*/);
}
/*FI]*/
r96print_op(C);
/*[IF*/
if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((3)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((3)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_IMPLIES.is_void*/
T0* r96operator(void){
T0* R=NULL;
R=((T0*)ms13_9513);
return R;
}
/*No:CALL_INFIX_IMPLIES.atomic_precedence*/
/*No:RUN_FEATURE_11.use_current_state*/
/*No:RUN_FEATURE_11.rescue_compound*/
/*No:RUN_FEATURE_11.actuals_clients*/
/*No:RUN_FEATURE_11.arguments*/
void r358initialize(T358* C){
C->_arguments=((T288*)((C)->_base_feature/*32*/))->_arguments/*24*/;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T171*n=malloc(sizeof(*n));
*n=M171;
r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
C->_result_type=X62to_runnable(((T288*)((C)->_base_feature/*32*/))->_result_type/*56*/,(C)->_current_type/*4*/);
C->_local_vars=((T288*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r162to_runnable((T162*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T288*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r200to_runnable((T200*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r54require_check((T54*)(oBC11run_control))){
C->_require_assertion=r288run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r54ensure_check((T54*)(oBC11run_control))){
C->_ensure_assertion=r288run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T288*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r200to_runnable((T200*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
}
T0* r358start_position(T358* C){
T0* R=NULL;
R=r288start_position((T288*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_11.require_assertion*/
/*No:RUN_FEATURE_11.clients_memory*/
/*No:RUN_FEATURE_11.ucs_not_computed*/
T0*oBC11exceptions_handler=NULL;
/*No:RUN_FEATURE_11.current_type*/
void r358add_client(T358* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T319*n=malloc(sizeof(*n));
*n=M319;
r319with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r313add_client((T313*)(r358run_class(C)),a1);
}
T0* r358run_class(T358* C){
T0* R=NULL;
R=X62run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_11.result_type*/
/*No:RUN_FEATURE_11.base_feature*/
/*No:RUN_FEATURE_11.ensure_assertion*/
void r358make(T358* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r358run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
/*]*/
r42incr_magic_count((T42*)(oBC11small_eiffel));
C->_use_current_state=15;
r42push((T42*)(oBC11small_eiffel),(T0*)C);
r358initialize(C);
r42pop((T42*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_11.routine_body*/
/*No:RUN_FEATURE_11.name*/
/*No:RUN_FEATURE_11.local_vars*/
T2 r358arg_count(T358* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r358clients(T358* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X62base_class((C)->_current_type/*4*/);
_bfbc=((T288*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T288*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r358is_exported_in(T358* C,T0* a1){
T6 R=0;
R=r83gives_permission_to((T83*)(r358clients(C)),a1);
return R;
}